package com.zhentao.dataintegrity.domain.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.time.LocalDateTime;

@TableName("di_data_type_config")
public class DataTypeConfig {

    @TableId(type = IdType.AUTO)
    private Long id;

    private String typeCode;
    private String typeName;
    private String originalTable;
    private String processedTable;
    private String rmbField;
    private String usdField;
    private String dateField;
    private String status; // ACTIVE, INACTIVE
    private Integer sortOrder;
    private String description;

    @TableLogic
    private Integer isDelete;

    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createdTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updatedTime;

    // Getters and Setters
    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }

    public String getTypeCode() { return typeCode; }
    public void setTypeCode(String typeCode) { this.typeCode = typeCode; }

    public String getTypeName() { return typeName; }
    public void setTypeName(String typeName) { this.typeName = typeName; }

    public String getOriginalTable() { return originalTable; }
    public void setOriginalTable(String originalTable) { this.originalTable = originalTable; }

    public String getProcessedTable() { return processedTable; }
    public void setProcessedTable(String processedTable) { this.processedTable = processedTable; }

    public String getRmbField() { return rmbField; }
    public void setRmbField(String rmbField) { this.rmbField = rmbField; }

    public String getUsdField() { return usdField; }
    public void setUsdField(String usdField) { this.usdField = usdField; }

    public String getDateField() { return dateField; }
    public void setDateField(String dateField) { this.dateField = dateField; }

    public String getStatus() { return status; }
    public void setStatus(String status) { this.status = status; }

    public Integer getSortOrder() { return sortOrder; }
    public void setSortOrder(Integer sortOrder) { this.sortOrder = sortOrder; }

    public String getDescription() { return description; }
    public void setDescription(String description) { this.description = description; }

    public Integer getIsDelete() { return isDelete; }
    public void setIsDelete(Integer isDelete) { this.isDelete = isDelete; }

    public LocalDateTime getCreatedTime() { return createdTime; }
    public void setCreatedTime(LocalDateTime createdTime) { this.createdTime = createdTime; }

    public LocalDateTime getUpdatedTime() { return updatedTime; }
    public void setUpdatedTime(LocalDateTime updatedTime) { this.updatedTime = updatedTime; }
}
